/******************************************************************************
 * @File name   :      IEligibilityDao.java
 *
 * @Author      :      GUDONG
 *
 * @Date        :      2015年10月23日
 *
 * @Copyright Notice: 
 * Copyright (c) 2014 Capgemini, Inc. All  Rights Reserved.
 * This software is published under the terms of the Capgemini Software
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file.
 * 
 * 
 * ----------------------------------------------------------------------------
 * Date                   Who         Version        Comments
 * 2015年10月23日 下午3:47:39        GUDONG     1.0            Initial Version
 *****************************************************************************/
package com.cap.bts.crmdp.dealer.coupon.dao;

import java.util.List;

import com.cap.bts.crmdp.dealer.coupon.domain.Eligibility;
import com.cap.bts.framework.common.dao.IBaseDao;
import com.cap.bts.framework.common.exception.AppException;

/**
 *
 */
public interface IEligibilityDao extends IBaseDao<Eligibility, Long> {

    public List<Eligibility> getEligibilityByTicketLineId(Long id) throws AppException;
    
    /**
     * 适用范围界面--预览界面判断属性名是否为表中字段名
     * @Date        :      2015年10月26日
     * @param code
     * @return
     * @throws AppException
     */
    public boolean isExitsInTable(String code) throws AppException;
    
    /**
     * 根据表名获取该表列名的集合
     * @Date        :      2015年10月26日
     * @param tableName
     * @return
     * @throws AppException
     */
    public List<String> getCodeListFromTable(String tableName) throws AppException;
    
    /**
     * 根据value，type获取对应code
     * @Date        :      2015年10月27日
     * @param value
     * @param type
     * @return
     * @throws AppException
     */
    public List<String> getCodeByValueAndType(String value,String type) throws AppException;
    
    /**
     * @Date        :      2015年11月17日
     * @param id
     * @throws AppException
     */
    public void removeEligibilityByTicketLineId(Long id) throws AppException;
}
